﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using Entidades;
using Negocio;

namespace Presentación
{
    public partial class AMGrilla : System.Web.UI.Page
    {
        GrillaEntidades grillaEnt;
        GrillaNegocio grillaNeg;

        List<PalabraEntidades> palabras;
        PalabraNegocio palabraNeg;

        public AMGrilla()
        {
            grillaNeg = new GrillaNegocio();
            palabraNeg = new PalabraNegocio();            
        }

        protected void Page_Load(object sender, EventArgs e)
        {
        }

        protected void AgregarPalabraButton_Click(object sender, EventArgs e)
        {

            grillaEnt = (GrillaEntidades) Session["grilla"];
            
            palabras = (List<PalabraEntidades>) Session["palabras"];
            if (palabras == null)
                palabras = new List<PalabraEntidades>();

            PalabraEntidades palabraEnt = new PalabraEntidades();
            palabraEnt.Palabra = AgregarPalabraTextBox.Text;
            palabraEnt.Referencia = AgregarReferenciaTextBox.Text;
            palabraEnt.NumeroPalabra = palabras.Count + 1;

            palabras.Add(palabraEnt);

            Session["grilla"] = grillaEnt;
            Session["palabras"] = palabras;

            AgregarPalabraTextBox.Text = "";
            AgregarReferenciaTextBox.Text = "";

            CargarGridView();
            AgregarPalabraTextBox.Focus();
        }

        protected void GuardarGrillaButton_Click(object sender, EventArgs e)
        {
            grillaEnt = new GrillaEntidades();
            grillaEnt.NombreGrilla = NombreGrillaTextBox.Text;
            grillaEnt.IdUsuario = int.Parse(Request.Cookies["usuarioActivo"]["idUsuario"]);
            if (CargarImagenFileUpload.HasFile)
                grillaEnt.Imagen = CargarImagenFileUpload.FileName;
            grillaNeg.Guardar(grillaEnt);

            palabras = (List<PalabraEntidades>)Session["palabras"];

            grillaEnt = grillaNeg.ObtenerPorNombre(grillaEnt.NombreGrilla);
            for (int i = 0; i < palabras.Count; i++)
                palabras[i].IdGrilla = grillaEnt.IdGrilla;
            palabraNeg.Guardar(palabras);

            Session.Abandon();
            Response.Redirect("MenuDiseñar.aspx");         
        }

        public void CargarGridView()
        {
            PalabrasGridView.DataSource = palabras;
            PalabrasGridView.DataBind();
        }        
    }
}